home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d19 / pcbdai36.arc / PCBDAILY.DOC < prev    next >
Text File  |  1989-03-20  |  15KB  |  303 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                 PCBDAILY
  17.  
  18.                                Version 3.6
  19.  
  20.                      For PCBoard ver 10.0 thru 12.0
  21.  
  22.                           BETA VERSION for 12.0
  23.  
  24.                                August 1987
  25.  
  26.                                Written By 
  27.  
  28.                                Mike Sabot
  29.                              Sysop - AESC BBS
  30.                               404-381-1947
  31.  
  32.  
  33. Purpose:   PcbDaily is designed to run in Event bat of PCBoard
  34.            Note: If run on a multi node board all nodes must be down
  35.                  or the board will lock.
  36.  
  37. 1. It will do automatic backups of the users file
  38. 2. It will generate one of 4 different daily user status bulletins.
  39. 3. It will automatically update the security level if desired by dl/upl
  40.    ratio or by strictly the number of uploads.
  41. 4. It will skip new users based upon how many times they have called, the
  42.    number selected by the sysop.
  43. 5. It will skip any one above a selected security level.
  44. 6. It will skip any one below a selected security level.
  45. 7. Reports parameters are user selectable and seperate from security level
  46.    updates.
  47. 8  Report heading is user selectable, ANSI graphics supported.
  48. 9. Sort of Users file ascending or descending by name or by security level
  49.    and then by descending order by name, ie A-Z.
  50. 10. It will skip any one until a given number of downloads.
  51. 11. It will skip any one until a given number of uploads.
  52. 12. For those of you using different menus by security level, it will cause
  53.    that user to be changed to a novice to redisplay the command menu only if
  54.    their secuity level has changed since previous security updates.
  55.  
  56. Scope:     All you need is PCBDAILY.EXE and PCBDAILY.CFG. An example of
  57. the .cfg file is include and only requires a simple line editor to make.
  58. Qedit is one I use and does not add extra line feeds at the end as some
  59. others.
  60.  
  61. Sample pcbdaily.cfg:
  62.  
  63. 11.8                   ------ LINE 1 --- VERSION OF PCBOARD USED
  64. Y                      ------ LINE 2 --- make user novice if level changes
  65. c:\pcb\main\users      ------ LINE 3 --- path and name of users file
  66. c:\pcb\main\users.bak  ------ LINE 4 --- path and name of users backup file
  67. c:\pcb\gen\blt11       ------ LINE 5 --- path and name of output file
  68. c:\pcb\report.hed      ------ LINE 6 --- path and name of output heading file
  69. 4 --------------------------- LINE 7 --- values of 0,1,2,3,4,5 or 6 only
  70. 1 --------------------------- LINE 8 --- values of 0,1,2 or 3 only
  71. 5 5 ------------------------- LINE 9 --- New user - How many calls
  72. 0 0 ------------------------- LINE 10 --- Skip until d/l exceed this value
  73. 0 0 ------------------------- LINE 11 --- Skip until uploads exceed this value
  74. 25 25 ----------------------- LINE 12 -- low value of sec level to skip
  75. 55 55 ----------------------- LINE 13 -- high value of sec level to skip
  76. 22  --------------------------LINE 14 -- # of entries in next line
  77. -20 30 -15 35 -11 40  0 45 1.2 46 1.3 47 1.4 48 1.5 49 1.6 50 1.7 51 10 52
  78.                         or
  79. 5 46 10 47 15 48 20 49 30 50 60 55 70 60
  80.                          |
  81.                          ^------ LINE 15
  82.  
  83. NOTE: lines 9 thru 13 now contain two values, they must be present. The second
  84. value is the value used for the report. It has the same function as the first
  85. but only for the report.  The first value is used for security level updating
  86. They may be the same value or different, thus allowing you to customize what
  87. is present in your report.
  88.  
  89. What the .cfg means:
  90.   1. The first line is the version of pcboard being run.  All versions
  91.   from 10.o to 11.8 have the same type of users file specs.  With version
  92.   12.0 the size of the users file has increased.  Any value greater than
  93.   11.9 will use the new larger file size.  DO NOT Enter any value greater
  94.   than 11.9 unless you are using either the Beta version of 12.0 or are
  95.   running 12.0.  You must have an entry here though to use ver 3.3 of
  96.   PcbDaily
  97.  
  98.   2. The second line is for all boards where there is a different menu for
  99.   different security levels.  Placing a "Y" on this line will cause that user
  100.   to be change to a novice user each time his security level changes.  Every
  101.   time it changes the user will now see the menu instead of being in the 
  102.   expert mode.
  103.  
  104.   3. The third line tells pcbdaily where and what the name of the users
  105.   file is.  Use complete Drive\path\name of file.
  106.  
  107.   4. The fourth line tells pcbdaily where and what the name of the users
  108.   backup file is.  Use complete Drive\path\name of file.
  109.  
  110.  
  111.   5.  The  fifth line tells pcbdaily where and what the  name  of  the
  112. output file will be.  In this case the output file is to be bulletin 11
  113. for the main board.  Use complete Drive\path\name of file.
  114.  
  115.   6.  Line 6 tells PcbDaily where to find the report heading. The report
  116. heading may contain any valid ASCII characters including ANSI graphics.
  117. One note here though, If you use an ansi drawing program to produce your
  118. heading, some programs will save the whole page, including extra blank lines.
  119. These blank lines will be reflected in the output file. Make sure your program
  120. removes them or you edit the file and remove them. I believe animation will
  121. also work but I have not tried it. As an additional option, you may place
  122. the word "NULL", in capital letters and no report heading will be used.
  123.  
  124.   7.  Line 7 tells pcbdaily just what you want it to do, at present there
  125. are 7 possibilities.
  126.        0 - create backup of users file only
  127.        1 - create backup of users file and print report
  128.        2 - print report only
  129.        3 - create backup of users file and perform security level updates
  130.            based on up/dl ratio's
  131.        4 - create backup, do security updates based on u/d ratio's, and
  132.            print report
  133.        5 - create backup, do security updates based on uploads only
  134.        6 - create backup, do security updates based on uploads, and report
  135.  
  136.    8.  Line 8 tells pcbdaily what type of users status report you want
  137. at present there are 4 possibilities.  Samples are included in arc'd file.
  138.        0 - Name,last date on, times on, dl's,uploads,up/dl ratio, sec level.
  139.        1 - Same as report 0 except security levels are not shown.
  140.        2 - Name, upload/download ratio.
  141.        3 - Name, Uploads 
  142.  
  143.    9.  Line 9 is the value for a new user, ie the number of times called.
  144. When doing updates on security levels either on ratio's or uploads, if a
  145. person has called less than or equal to this value, they will be skipped.
  146. Line 9 can contain any number from 0 to 99. If a 0 is present all
  147. users whose clearance is above the value given in line 12 and below the
  148. value given in line 13 will be subject to security level up dates. Unless
  149. you have a value in lines 10 and/or 11.
  150. Any other number will cause that user to be skipped until the number of
  151. times they have called your BBS exceeds the entered number. At the present
  152. time, this is the only way with PCBoard that I can find to determine
  153. whether or not a person is a new user.
  154.  
  155.    10.  Line 10 is the value used to skip all users until their downloads
  156. exceed this value. By placing a 0 here all users are included regardless
  157. of the number of downloads.  A value of 5 would skip all users until they
  158. have downloaded more than 5 files.
  159.  
  160.    11.  Line 11 is the value used to skip all users until their uploads
  161. exceed this number. By placing a 0 here all users are included regardless
  162. of the number of uploads.  A value of 5 would skip all users until they have
  163. uploaded more than 5 files.
  164.  
  165.    12.  Line 12 is the lower security level, all users equal to or below
  166. this level will not be included in the security updates.
  167.  
  168.  
  169.  
  170.    13.  Line 13 is the upper security level, all users equal to or above
  171. this level will not be included in the security updates. As a minimum it
  172. should be set for the sysop's level if you want to include all users.   If
  173. it is set higher than the sysop's level and you update security levels. It is
  174. possible to have the sysop's level change. So set it for your level or lower.
  175. The value entered here is an greater than or equal to value. In the example
  176. above 55 is use.  Any one with a security level of 55 or higher will not
  177. have their security level changed
  178.  
  179.    14.  Line 14 tells pcbdaily how many entries are in line 15. In  this
  180. case line 15 contains 22 entries, each entry separate by a space. Line 14
  181. and line 15 must match or you will get a error message telling you they are
  182. not equal and an end to program.
  183.  
  184.    15.  Line 15 is the meat of the program.  This  is  where  you  tell
  185. pcbdaily  who gets what security level based on the dl/up  ratio.   The
  186. first  entry is a -20 the second entry is a 30.  What is means is  that
  187. any  one who has a 20 download to 1 upload or more will get a  security
  188. level  of  30 assigned to them.  This is an ( >= ) less than  or  equal
  189. level.  Entry 3 is a -15,  15:1 download/upload ratio ,  and entry 4 is
  190. 35,  a security level of 35 will be given to those whose ratio is  less
  191. than  or  equal to the 15:1.   Ect..  Any one who has an  equal  dl/upl
  192. ratio  which is 0 has a security level of 45.   A new user to my  board
  193. starts at 45. The entry after is a positive number 1.2, this is a person
  194. who  has  more  uploads than downloads.  This  person  would  have  his
  195. security level increased from 45 to 46. Ect....
  196.  
  197. When updating by uploads alone, then it is strictly a value for number of
  198. uploads and a security level assigned.  An easy way to reward those users
  199. who contribute rather than taking.
  200.  
  201. As  an added precaution,  any time security levels are updated,  before
  202. changing  any  data in the users file, a backup of the  users  file  is
  203. created.
  204.  
  205. Line  15  can handle  up to 254 entries,  which works  out  to  be  127
  206. different security levels.
  207.  
  208. The process is very similar to the way pcbedit does it, but you can run
  209. PCBDAILY in the event bat and let the computer do the work for you.
  210.  
  211. SORT:
  212.  
  213. A sort of the users file has been added.  It can be invoked at the command
  214. line when calling PcbDaily.
  215. Usage: Pcbdaily  [option]
  216.         Where option is AN;DN;AS;DS
  217.         AN - sort ascending by last name, a - z
  218.         DN - sort descending by last name, z - a
  219.         AS - sort ascending by security level, low goes first, then by name 
  220.              ascending.
  221.         DS - sort descending by security level, high goes first, then by
  222.              name ascending.
  223.  
  224. The option is not case sensitive and can be upper or lower case letters, a
  225. space must separate the option from PcbDaily. If no option is selected no
  226. sort of the users file will occur.  The sort is performed before any report
  227. is produced.  In all cases that a sort is done, a backup will be made of the
  228. users file.  The sort is first written to a file name $work.fil and then
  229. renamed to your users file.  Should the sort fail for any reason, the users
  230. file will be left intact and you will find $work.fil present.  I have tested
  231. the sort extensively and it works well for me.  The first sort will take
  232. awhile, subsequent sorts will be quicker.  The sort has been setup for users
  233. files of up to 5000 users, but I doubt that basic will allow that many in its
  234. string space. I have it tested on user files up to 950 users without an
  235. out of string message
  236.  
  237. NOTE for PCBoard ver 10 users: Pcboard 11.X requires the first record be
  238. the sysop's record.  The sort will skip the first record in all cases.  If
  239. you use the sort option, insure that your first record in your users file
  240. is you !!!.
  241.  
  242.  
  243.  
  244. Revision History:
  245.   Aug 26 1986 - First release to public domain ver 1.0
  246.   Sept 14 1986 - Ver 1.1 Supports ver 10 and 11 of Pcboard, 30% faster
  247.                 Ver 1.2 - 1.9 Not released
  248.   Oct 20 1986 - Ver 2.0 - Major revisions
  249.   Jan 3 1986  - Ver 3.0 - Major revisions, new functions added, add more
  250.                           error checking
  251.   Mar 16 1987 - Ver 3.1 - Added Sort of users file, u/l; d/l levels to be
  252.                           skipped on ratio, separate report heading,
  253.                           separate level selects for reports, and still
  254.                           more error checking.
  255.   Mar 17 1987 - Ver 3.2   Replaces ver 3.1, which had a bug in compiling
  256.                           and did not perform security level updates cor-
  257.                           rectly
  258.   Jul 28 1987 - Ver 3.3   Beta version - Adds compatiblity with ver 12.0
  259.                           of Pcboard, Add pcboard version to config file
  260.                           Updated and corrected Documentation.
  261.   Aug 18 1987 - Ver 3.4   Beta version - Major rewrite of code to make use
  262.                           of new QB3 features, made code more compact.
  263.                           Corrected bug in sort routine that put any user 
  264.                           except SySop with Sec level over 99 at bottom of
  265.                           sort. Now only updates users record if Security 
  266.                           level changes instead of every time. Speeds updates
  267.                           quite abit. Added to sort routine, now with sort
  268.                           by security level, users are put in Alphabetical
  269.                           order by security level and name. Added change from
  270.                           expert mode to novice mode.
  271.   Aug 20 1987 - Ver 3.5   Finished rewrite of code, changed sort routine,
  272.                           should be much faster on large users files now,
  273.                           added an indication that the sort was working,
  274.                           corrected bug, that could have caused lost of a
  275.                           user in the user file, one in a 1000.  Corrected a
  276.                           bug that caused sort to fail after 950 or so users.
  277.                           If using with 12.0, do not use sort, until I can
  278.                           get more info on the method of Indexing Fred is using
  279.   Sept 4 1987 - Ver 3.6   Oh no, not another bug.....
  280.                           Fix a bug that would only effect the skipping of
  281.                           records for newusers, uploads and downloads.  Turns
  282.                           out that in the rewrite, I duplicated a couple of
  283.                           variables and over wrote them.
  284.  
  285.                       Any comments, suggestions, bugs, contributions,
  286.                       please let me know.
  287.  
  288.                       Mike Sabot
  289.                       4925 Cold Springs Drive
  290.                       Lilburn, Ga 30247
  291.  
  292.                              or
  293.  
  294.                       ATTN: SYSOP - AESC BBS
  295.                       Data:  404-381-1947
  296.                       Voice: 404-448-6100 8am-4pm EST
  297.                              404-921-5600 6pm-9pm EST only
  298.                          Online  24 hours 
  299.                           100 meg online
  300.                            7 days aweek
  301.                         300/1200/2400/9600 baud
  302.  
  303.